home *** CD-ROM | disk | FTP | other *** search
/ Creative Review 28 / Creative-Review-CD-ROM-28.iso / pc / kungfu / assets / game.dir / 00042_Script_enemy class < prev    next >
Text File  |  1997-08-08  |  2KB  |  108 lines

  1. -- enemy class
  2. -- --------------------------------------------------
  3.  
  4. property ancestor
  5. property huntvector
  6.  
  7. global gplayer
  8.  
  9. -- ==================================================
  10. -- new method
  11. -- --------------------------------------------------
  12. on new me, props
  13.   
  14.   minit me, props
  15.   return me
  16.   
  17. end mnew 
  18.  
  19. -- ==================================================
  20. -- minit method
  21. -- --------------------------------------------------
  22. on minit me, props
  23.   
  24.   -- put "in minit enemy"
  25.   
  26.   set ancestor = new ( script "actor class" , props )
  27.   
  28.   -- put "out minit enemy"
  29.   
  30. end minit
  31.  
  32. -- ==================================================
  33. -- mthink method
  34. -- --------------------------------------------------
  35. on mthink me
  36.   
  37.   --  put "in mthink boss " 
  38.   
  39.   set huntvector = the cell of gplayer - the cell of me
  40.   
  41.   set newmove = mfaceenemy ( me )
  42.   
  43.   return newmove
  44.   
  45. end mthink 
  46.  
  47. -- ==================================================
  48. -- mfaceenemy method
  49. -- --------------------------------------------------
  50. on mfaceenemy me
  51.   
  52.   --  put "in mfaceenemy"
  53.   
  54.   case sense ( huntvector ) of 
  55.     1 : 
  56.       set newkey = #right
  57.       if ( the direction of me = #right ) then return false
  58.     -1 :
  59.       set newkey = #left
  60.       if ( the direction of me = #left ) then return false
  61.   end case
  62.   
  63.   set newmove = mkeytomove ( me, newkey )
  64.   
  65.   --  put "turning"
  66.   
  67.   return newmove
  68.   
  69.   --  put "out mfaceenemy"
  70.   
  71. end mfaceenemy 
  72.  
  73. -- ==================================================
  74. -- mattack method
  75. -- --------------------------------------------------
  76. on mattack me 
  77.   
  78.   -- put "in attack boss"
  79.   
  80.   set playerkey = mgetcurrentkey ( gplayer )
  81.   
  82.   case playerkey of:
  83.     #lowattack: set mykey = #lowattack
  84.     #jump: set mykey = #highattack
  85.     #highblock: set mykey = #lowattack
  86.     #lowblock: set mykey = #highattack
  87.     otherwise : set mykey = #random
  88.   end case
  89.   
  90.   if ( mykey = #random ) or ( prob ( 10 ) ) then
  91.     if prob ( 50 ) then set mykey = #highattack
  92.     else set mykey = #lowattack
  93.   end if
  94.   
  95.   --  put "mykey: " , mykey
  96.   
  97.   set newmove = mkeytomove ( me, mykey )
  98.   
  99.   -- put "newmove: ", newmove
  100.   
  101.   --  put "out mattack boss"
  102.   
  103.   return newmove
  104.   
  105. end mattack
  106.  
  107.  
  108.